#ifndef ALTGLOBALS_H
#define ALTGLOBALS_H

/*! \dir alt2d
     Houses the code for the alt2d project. The alt2d project is a library that contains the main classes of the Alt project. */
/*! \dir alt2d/include
     Header files for the alt2d project. */

class QDir;
class QSettings;

#include <QStringList>

/*! Namespace that all classes and globals which are officially part of the Alt project are stored in. */
namespace Alt {
     /*! Describes what kind of 2D projection is used.
          \todo Better description of projection types.*/
     enum Projection {
          /*! Pokemon or 2D Zelda-style projection. */
          ThreeFourthsTopDown,
          /*! Roller Coaster Tycoon-style projection. */
          Isometric,
          /*! Default projection. */
          DefaultProjection = ThreeFourthsTopDown
     };

     /*! Retrieve a list of file names located in a directory and all of its sub-directories.
          \param dir The directory to search. */
     QStringList recursiveFileEntryList(const QDir& dir);

     /*! Generates a properly-constructed QSettings object for accessing Alt settings.
          The caller is responsible for the object's destruction. */
     QSettings* settings();
}

#endif
